import java.util.Scanner;

public class Test02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();// 烽火台数量
        int[] x = new int[n]; int[] y = new int[n]; int[] v = new int[n];
        for (int i = 0; i < n; i++) {
            x[i] = scanner.nextInt();//读取输入
        }

        for (int i = 0; i < n; i++) {
            y[i] = scanner.nextInt();//继续读取
        }


        for (int i = 0; i < n; i++) {
            v[i] = scanner.nextInt();//读取数据
        }
        long[] dp = new long[n];
        dp[0] = v[0];
        if(n > 1) dp[1] = Math.max(v[0] , v[1]); // 处理边界

        for (int i = 2; i < n ; i++) {
            dp[i] = Math.max(dp[i - 1], dp[i-2] + v[i]);
        }
        System.out.println(dp[n -1]);
    }
}
